package cn.cl;

import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;

/**
 * 标题：
 * 作者：何处是归程
 * 时间：2020/4/10 - 8:52
 */
public class TestHash {
	public static void main(String[] args) {
		Jedis jedis = new Jedis("127.0.0.1", 6379);
		System.out.println("清空数据：" + jedis.flushDB());
		System.out.println("给哈希集合myhash中添加值 - name:lu：" + jedis.hset("myhash", "name", "lu"));
		System.out.println("从哈希集合myhash中获取元素name的value：" + jedis.hget("myhash", "name"));
		Map<String, String> map = new HashMap<>();
		map.put("age", "18");
		map.put("gender", "女");
		System.out.println("给哈希集合myhash中添加多个值 - age:18、gender:女：" + jedis.hmset("myhash", map));
		System.out.println("获取哈希集合myhash中的所有元素：" + jedis.hgetAll("myhash"));
		System.out.println("获取哈希集合myhash的长度：" + jedis.hlen("myhash"));
		System.out.println("删除哈希集合myhash中的name字段：" + jedis.hdel("myhash", "name"));
		System.out.println("获取哈希集合myhash中的所有元素：" + jedis.hgetAll("myhash"));
		System.out.println("判断哈希集合myhash中字段age是否存在：" + jedis.hexists("myhash", "age"));
		System.out.println("获取哈希集合myhash中所有的fieid：" + jedis.hkeys("myhash"));
		System.out.println("获取哈希集合myhash中所有的value：" + jedis.hvals("myhash"));
		System.out.println("将哈希集合myhash中的字段age +n / -n ：" + jedis.hincrBy("myhash", "age", 10));
		System.out.println("获取哈希集合myhash中的所有元素：" + jedis.hgetAll("myhash"));
		System.out.println("将哈希集合myhash中的字段age +n / -n ：" + jedis.hincrBy("myhash", "age", -10));
		System.out.println("获取哈希集合myhash中的所有元素：" + jedis.hgetAll("myhash"));
		System.out.println("设置指定哈希集合中的字段，如果该字段不存在则创建并设置，如果存在则设置失败：" + jedis.hsetnx("myhash", "name", "lu"));
		System.out.println("清空数据：" + jedis.flushDB());
	}
}
